using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace ExcellentProject.Infraestructura.AccesoDatos.Notificaciones1.Models.Mapping
{
    public class NotificacionMap : EntityTypeConfiguration<Notificacion>
    {
        public NotificacionMap()
        {
            // Primary Key
            this.HasKey(t => t.IdNotificacion);

            // Properties
            this.Property(t => t.Destinatario)
                .IsRequired()
                .HasMaxLength(100);

            this.Property(t => t.Asunto)
                .IsRequired()
                .HasMaxLength(100);

            this.Property(t => t.Mensaje)
                .IsRequired()
                .HasMaxLength(500);

            this.Property(t => t.Estado)
                .IsRequired()
                .HasMaxLength(20);

            // Table & Column Mappings
            this.ToTable("Notificacion");
            this.Property(t => t.IdNotificacion).HasColumnName("IdNotificacion");
            this.Property(t => t.Destinatario).HasColumnName("Destinatario");
            this.Property(t => t.Asunto).HasColumnName("Asunto");
            this.Property(t => t.Mensaje).HasColumnName("Mensaje");
            this.Property(t => t.Estado).HasColumnName("Estado");
        }
    }
}
